<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /*
            JavaScript能够准确表示的整数范围在-2^53到2^53之间(不含两个端点)
            超过这个范围，无法精确表示这个值，这使得JavaScript 不适合进行科学和金融方面的精确计算。
        */
       console.log(Math.pow(2,53));//9007199254740992
       console.log(Math.pow(2,53)+1);//还是9007199254740992, 说明超过2的53次方的数字js已经无法准确计算了
       console.log('----------------------------------------');

        // 声明Bigint类型数据很简单，在数值后面加个n就行了;
        let num1 = 123n; //Bigint类型的123
        let num2 = 123; //普通整数123
        console.log(num1 == num2); //true
        console.log(num1 === num2); //false

        console.log('----------------------------------------');

        console.log(num1 > 100); //true
        console.log(num1 < 200); //true

        console.log('----------------------------------------');

        try {
            num1 + 2
        } catch (error) {
            console.log(error); //报错，因为Bigint类型不能和其他类型一起运算
        }

        console.log('----------------------------------------');

        // 使用Bigint函数可以进行强制转换
        console.log(num1+BigInt(2));//125n

        // 
        console.log(BigInt(2**53)+1n);//9007199254740993n
    </script>
</body>

</html>